#pragma once

#include "Globals.h"

namespace game_engine { namespace utils
{

/*!
 * \class Point
 * \brief 
 */
class Point
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
private:
   FLOAT32 x;
   FLOAT32 y;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    Point(void);
    Point(const FLOAT32 coordX, const FLOAT32 coordY);
    Point(const string &coords);
    ~Point(void);

    // Others
    bool operator==(const Point &other);
    bool operator!=(const Point &other);
    //friend Point operator+(const Point &lhs, const Point &rhs);
    //Point operator+(const Point &rhs);

    // Getters
    const FLOAT32 getX(void) const;
    const FLOAT32 getY(void) const;

    // Setters
    void setX(const FLOAT32 coordX);
    void setY(const FLOAT32 coordY);

};

}}
